#!/bin/bash
# Script que permite instalar el software necesario
# REQUIERE CONEXION A INTERNET ----------
#


########### -------- NO TOCAR DESDE ACA ---------#####################

# Archivo de funciones
. ./utils.sh

export http_proxy=http://157.92.49.223:8080

function actualizarRepos(){

	rm -f /etc/apt/sources.list	
	cp ./sources.list /etc/apt/sources.list	

	apt-get update

}

function checkstatus(){

	ESTADO=`dpkg -s $1 | grep "Status: install ok installed" | wc -l`

	if [ "$ESTADO" != "1" ]; then
		log "  - ERROR: No se encuentra instalado $1"
	else
		log "  - OK: $1 instalado correctamente"
	fi

}

function check_servers(){

	log "VERIFICANDO CONDICIONES PARA WEB SERVER:"
	checkstatus "apache2"	
	log ""
	
	log "VERIFICANDO CONDICIONES PARA FTP SERVER:"
	checkstatus "proftpd"	
	log ""

	log "VERIFICANDO CONDICIONES PARA TELNET SERVER:"
	checkstatus "openbsd-inetd"
	checkstatus "telnetd"
	log ""
}

function check_dns(){
	log "VERIFICANDO CONDICIONES PARA DNS:"
	checkstatus "bind9"
	log ""
}

function install_servers(){

	actualizarRepos

	# WEB
	apt-get install -y --force-yes apache2

	# TELNET
	apt-get install -y --force-yes openbsd-inetd telnetd
	#inetutils-telnet libshishi0 shishi-common

	# FTP
	apt-get remove -y --force-yes proftpd
	apt-get install -y --force-yes proftpd


}


function install_dns(){

	actualizarRepos

	#BIND
	apt-get remove -y --force-yes bind9
	apt-get install -y --force-yes bind9

	apt-get install -y --force-yes tzdata
}


function ayuda(){

	echo "Error en los parametros"
	echo "-----------------------"
	echo "Los parametros validos de este script son: [check|install] [servers|dns]"
	echo ""
	echo "check [servers|dns] : Realiza las verificaciones que este todo instalado para los servidores o los dns"
	echo "install [servers|dns] : Realiza la instalacion de todos los paquetes necesario para los servidores o los dns (NECESITA SALIDA A INTERNET)"
	

}

function check(){
	case $1 in
	servers) check_servers;;
	dns) check_dns;;
	*) ayuda
	esac 

}

function instalar(){
	case $1 in
	servers) install_servers;;
	dns) install_dns;;
	*) ayuda
	esac 
}


######## FIN FUNCIONES - inicio ejecucion #################

inicio

case $1 in
check) check $2;;
install) instalar $2;;
*) ayuda
esac 
